home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-13 | 2.9 KB | 121 lines | [TEXT/KAHL] |
- ///--------------------------------------------------------------------------------------
- // SpaceGame.h
- //
- // Created: 6/18/92 at 8:03:00 PM
- // By: Tony Myles
- //
- // Copyright © 1992 Tony Myles, All rights reserved worldwide.
- ///--------------------------------------------------------------------------------------
-
-
- #ifndef __SPACEGAME__
- #define __SPACEGAME__
-
- #ifndef __SPRITEWORLD__
- #include <SpriteWorld.h>
- #endif
-
- #ifndef __SPRITELAYER__
- #include <SpriteLayer.h>
- #endif
-
- #ifndef __FRAME__
- #include <Frame.h>
- #endif
-
- #ifndef __ROCKSPRITE__
- #include "RockSprite.h"
- #endif
-
- #ifndef __SHIPSPRITE__
- #include "ShipSprite.h"
- #endif
-
-
- ///--------------------------------------------------------------------------------------
- // space game constants
- ///--------------------------------------------------------------------------------------
-
- enum
- {
- kSplashPictID = 128,
- kSuperNovaID = 500,
- kNumberOfLevels = 10,
- kNumberOfIntroRocks = 6
- };
-
- enum
- {
- kGameStringsResID = 200,
- kGraphicsFileNameStringIndex = 1
- };
-
-
- ///--------------------------------------------------------------------------------------
- // space game data structure
- ///--------------------------------------------------------------------------------------
-
- typedef struct
- {
- unsigned long score;
- unsigned short level;
- unsigned short lives;
-
- WindowPtr gameWindP;
-
- SpriteWorldPtr gameSpriteWorldP;
-
- SpriteLayerPtr introSpriteLayerP;
- SpriteLayerPtr rockSpriteLayerP;
- SpriteLayerPtr shipSpriteLayerP;
- SpriteLayerPtr shotSpriteLayerP;
-
- SpritePtr titleSpriteP;
-
- ShipSpritePtr shipSpriteP;
- RockSpriteInfoPtr rockSpriteInfoP;
- } SpaceGameRec, *SpaceGamePtr, **SpaceGameHdl;
-
-
- ///--------------------------------------------------------------------------------------
- // space game function prototypes
- ///--------------------------------------------------------------------------------------
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- OSErr EnterSpaceGame(void);
- void ExitSpaceGame(void);
-
- OSErr CreateSpaceGame(SpaceGamePtr *spaceGameP);
- OSErr CreateGameWindow(SpaceGamePtr spaceGameP);
- OSErr CreateSplashScreen(SpaceGamePtr spaceGameP);
- OSErr CreateGameSpriteWorld(SpaceGamePtr spaceGameP);
- OSErr CreateGameLayers(SpaceGamePtr spaceGameP);
- OSErr CreateGameSprites(SpaceGamePtr spaceGameP);
- void DisposeSpaceGame(SpaceGamePtr spaceGameP);
-
- void StartSpaceGame(SpaceGamePtr spaceGameP);
- void PlaySpaceGame(SpaceGamePtr spaceGameP);
- void IdleSpaceGame(SpaceGamePtr spaceGameP);
- void NextShip(SpaceGamePtr spaceGameP);
- void NextLevel(SpaceGamePtr spaceGameP);
-
- void GenerateStarField(GWorldPtr starGWorldP);
- void GenerateSuperNovae(void);
-
- void SpaceGameEraseDrawProc(FramePtr srcFrameP, FramePtr dstFrameP,
- Rect *srcRect, Rect *dstRect);
- void SpaceGameScreenDrawProc(FramePtr srcFrameP, FramePtr dstFrameP,
- Rect *srcRect, Rect *dstRect, RgnHandle maskRgn);
-
- void CenterRect(Rect* srcRect, Rect* dstRect);
-
- void SetRGBColor(RGBColor *color, short red, short green, short blue);
-
- #ifdef __cplusplus
- };
- #endif
- #endif /* __SPACEGAME__ */